﻿using Medlcalcare.MVC.Services;

namespace Medlcalcare.MVC.Models
{
    public class ChatSession
    {
        //使用 List<ChatMessage> 存储聊天消息历史
        private readonly List<ChatMessage> _history = new();
        //存储会话的唯一标识符
        public string SessionId { get; }
        //接受一个 sessionId 参数并赋值给 SessionId 属性
        public ChatSession(string sessionId) => SessionId = sessionId;
        //将新的 ChatMessage 对象添加到历史列表中
        public void AddMessage(ChatMessage message) => _history.Add(message);
        //使用 LINQ 的 TakeLast() 方法获取最新的 count 条消息
        //返回新的 List<ChatMessage> 副本（避免外部修改内部列表）
        public List<ChatMessage> GetRecentMessages(int count) =>
            _history.TakeLast(count).ToList();
    }
}
